package com.wisezone.workflow.dao;

import java.util.List;

import com.wisezone.common.dao.BaseDao;
import com.wisezone.workflow.bean.WfActivityInstUser;
import com.wisezone.workflow.bean.WfActivityInstance;
import com.wisezone.workflow.bean.form.WfActivityInstUserForm;
import com.wisezone.workflow.exception.WfDaoException;

/**
 * 活动实例接口
 * 
 * @author tss 2009-09-05
 * 
 */
public interface WfActivityInstUserDao extends BaseDao {

	/**
	 * 删除未参与活动的记录
	 * 
	 * @param ai
	 * @throws WfDaoException
	 */
	public void deleteOhter(WfActivityInstance ai) throws WfDaoException;

	/**
	 * 根据流程实例Id 和 用户ID 逻辑删除
	 * 
	 * @param processInstId
	 * @param userId
	 * @throws WfDaoException
	 */
	public void logicDel(Long processInstId, Long userId)
			throws WfDaoException;

	/**
	 * 获得活动和人员列表
	 * 
	 * @param activityInstId
	 * @return
	 * @throws WfDaoException
	 */
	public List<WfActivityInstUser> listByActivityInstId(Long activityInstId)
			throws WfDaoException;

	/**
	 * 获得活动和人员表单列表
	 * 
	 * @param activityInstId
	 * @return
	 * @throws WfDaoException
	 */
	public List<WfActivityInstUserForm> listFormByActivityInstId(
			Long activityInstId) throws WfDaoException;

}